#ifndef DW_SYSTEM_TIMER_H
#	define DW_SYSTEM_TIMER_H

namespace dw {
	namespace system {

class Timer
{
public : //! @name Construction & destruction
	//! @{
	Timer();
	//! @}

public : //! @name Commands
	//! @{
	void reset();
	//! @}
	
public : //! @name State
	//! @{
	float64 getSeconds() const ;
	float64 getMilliSeconds() const ;
	uint64 getTicks() const ;
	//! @}

private : //! @name Data
	//! @{
	float64 _invFrequency;
	__int64 _start;
	//! @}
};

	} // namespace system
} // namespace dw

#endif // !DW_SYSTEM_TIMER_H
